package cate.game.notice.msg;

import cate.game.client.msg.ClientMsg;
import cate.game.client.msg.MsgConfig;
import cate.game.client.msg.MsgOutput;
import cate.game.client.msg.id.MsgIdBNotice;
import cate.game.res.MixRes;
import easy.java.dev.note.NoteField;

import java.util.List;
import java.util.Map;

@ClientMsg(title = "对话框通知(包含了标题内容和奖励等信息) ")
public class NoticeDialogResp implements MsgOutput {
    /** 默认 */
    public static final byte TYPE_DEFAULT = 0;
    /** 获得奖励通知 */
    public static final byte TYPE_REWARD = 1;

    @NoteField(value = "通知类型", example = "0:默认, 1:获得奖励通知")
    public byte type;

    @NoteField(value = "通知标题", example = "公会战即将开始")
    public String title;

    @NoteField(value = "内容ID", example = "0: #, 代表以第一个参数替换整个配置文本")
    public int contentId;

    @NoteField(value = "内容参数")
    public List<Object> paramList;

    @NoteField(value = "奖励", detail = "模板数据")
    public MixRes reward;

    @NoteField(value = "实例奖励", detail = "Map<背包类型,实例id们>")
    public Map<Byte, List<String>> instanceMap;

    public NoticeDialogResp(){}

    @Override
    public MsgConfig conf() {
        return MsgIdBNotice.NOTICE_DIALOG_RESP;
    }
}
